what is restful api and its advantages